ACM-2024-03-03

Jahrgang: 2024
Ausgabe: 03
Autor: Thomas Krger
Programm: ACM-HATCHGAP.LSP
Funktionalitt: Freistellung von Textobjekten innerhalb von Schraffuren
Format: LISP
Lauffhig ab: AutoCAD 2008
Befehle: HATCHGAP
Bezug: Online


Beschreibung
============

Schraffurlcken

Fr die Darstellung von Textinhalten kennt AutoCAD unter anderem Text- und MText-Objekte sowie an 
Blockreferenzen gebundene Attribute. Sind diese vor oder hinter Schraffuren platziert, ist die gute 
Lesbarkeit nicht mehr gegeben. Um dies zu verbessern, kann das hier vorgestellte Tool ACM-HATCHGAP.LSP
eine gute Hilfe sein, um Textobjekte innerhalb der umgebenen Schraffur freizustellen.
Nach dem Laden der LISP-Datei und Starten des Programms mit dem Befehl HATCHGAP wird der Anwender 
aufgefordert, die freizustellenden Textobjekte zu whlen. Akzeptiert werden dabei DTEXTE und MTEXTE 
sowie Blockreferenzen mit Attributen, die auch mehrzeilig sein knnen.
Fr alle Textobjekte des Auswahlsatzes werden anschlieend eventuell verdeckende Schraffuren ermittelt 
und fr Attribute dazu temporr entsprechende Ersatztextobjekte erstellt. Die Ermittlung der verdeckenden 
Schraffuren geschieht fr jedes Textobjekt ber die SSGET-Funktion im Modus CrossingPolygon mit dem 
textumschreibenden Rechteck als Auswahlbereich. Damit SSGET korrekt funktioniert, wird zwischendurch auf 
Zeichnungsgrenzen gezoomt, zudem werden die Schraffurmuster auf ANSI37 und die Schraffurskalierungen 
auf 1.0 gesetzt. Die Bildschirmkoordinaten lassen sich vorher fr die sptere Wiederherstellung der 
Ansicht auslesen und speichern, ebenso die jeweiligen Schraffureigenschaften. Wurden Schraffuren gefunden, 
die das Textobjekt verdecken, wird die Textumrandung von den Schraffurobjekten abgezogen. Der Einfachheit 
halber geschieht das fr jede Schraffur ber den Befehl HATCHEDIT.
Nach Beendigung des Befehls werden die ursprngliche Ansicht und die ursprnglichen Schraffureigenschaften 
wieder hergestellt und die temporr erzeugten Ersatztextobjekte gelscht. Mithilfe des UNDO-Befehls 
lassen sich die Resultate des HATCHGAP-Befehls leicht wieder rckgngig machen.
